// Button.h provides the attributes of the Button class
//-----------------

#if !defined( ButtonH)
#define ButtonH

//-----------------
// Includes various libraries and files
#include <cassert>		// for asserts
#include <d3dx9.h>		// Direct 3D library (for all Direct 3D functions)
#include <string>

#include "constants.h"
//-----------------

class Button {
	public:
		// constructors and destructor
		Button();
		Button( const std::string& t, const int& x, const int& y, const int& a, const int& r, const int& g, const int& b);
		~Button();

		// accessors
		bool mouseover( const int& x, const int& y, const int& h) const;
		int get_text_length() const;
		std::string get_text() const;
		int get_x_pos() const;
		int get_y_pos() const;
		int get_rect_width() const;
		int get_rect_height() const;
		int get_colour_alpha() const;
		int get_colour_red() const;
		int get_colour_green() const;
		int get_colour_blue() const;

		// mutator
		void set_button( const std::string& t, const int& x, const int& y, const int& a, const int& r, const int& g, const int& b);

	private:
		std::string text_;
		int rect_x_pos_;
		int rect_y_pos_;
		int rect_width_;
		int rect_height_;
		int colour_alpha_;
		int colour_red_;
		int colour_green_;
		int colour_blue_;
};

#endif